Important: The sample SBP2 Expert and Family are for temporary use only. Soon, the real SBP-2 Expert will be included in the SDK. How to use the real expert will be documented at that time. Without the real expert, you can have only one SBP-2 driver on your system - i.e., you cannot have one driver for an SBP-2 disk drive and another driver for an SBP-2 printer. This will prevent you from shipping a final product, but it does not stop you from writing your driver, because you only need one driver while you write it.
The sample code for SBP2 can be found in the :Source:SBP2: folder. To build it, set your working directory to :Source:SBP2: and type and run "build SBP2". This will build and place the extensions "SampleSBP2Expert", "SampleSBP2Family", and "FWSBP2Driver" in the :BuildResults:Extensions: folder. It will also build and place the application "SBP2DemoApp" in the :BuildResults:Applications: folder.
Put the FireWire extensions from :Extensions:FWExtensions: and the SampleSBP2Expert, SampleSBP2Family, and FWSBP2Driver extenstions into the extensions folder on your Mac. Put the SBP2DemoApp application somewhere convenient on your Mac.
Reboot your Mac and run the SBP2DemoApp application. Now plug in or turn on an SBP2 device. One window will open for each SBP2 device that is connected. You can add and remove devices at any time. From the "Command" menu, choose "Login" to establish a login with an SBP2 device. If a login is established, it will be reconnected after bus resets until you choose "Logout". Depending on the kind of SBP2 device you connected, some other commands may be useful. The commands "Status Inquiry" and "Mode Sense" work with the Symbios SYM13FW2500 IDE to FireWire interface. The command "Block Read" works with the Seagate FireWire hard drive.
You can use FireBug to watch all the activity corresponding to these SBP-2 commands. Use the "data 16" command so that you can see the contents of ORBs, page tables, etc. Use the "busreset" command (Command-R) to watch a reconnect take place. Use the "qwrite" command to send (illegally small) unsolicited status to the Mac, and watch it show up in the corresponding device window.